/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.mine.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.WorkBo;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Part;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface WorkContract {

    interface Model {
        Observable<String> userAddWork(
                String comLogo,
                String company,
                String position,
                String beginTime,
                String endTime,
                String describeInfo);

        Observable<String> userEditWork(
                String id,
                String comLogo,
                String company,
                String position,
                String beginTime,
                String endTime,
                String describeInfo);

        Observable<WorkBo> userGetWork(WorkBo workBo);

        Observable<String> userDeleteWork(WorkBo workBo);
    }

    interface View extends BaseView {


        void showAddWorkSuccess();

        void showWorkSuccess(WorkBo workBo);

        void showError(String error);

    }


    interface Presenter extends BasePresenter {

        void userAddWork(
                String comLogo,
                String company,
                String position,
                String beginTime,
                String endTime,
                String describeInfo

        );

        void userEditWork(
                String id,
                String comLogo,
                String company,
                String position,
                String beginTime,
                String endTime,
                String describeInfo);

        void userGetWork(String id);

        void userDeleteWork(String id, int sign);
    }
}
